
[2020] 정보 처리 기사 실기 4-통합 구현
2020-07-16 05:31 시에 저장한 글입니다.
정보처리기사 공부 후 정리 자료입니다. 정확하지 않을 수 있으니 꼭 책을 참고해서 공부하세요
2020 정보 처리 기사 통합 구현 요약 입니다. 정처기 공부를 할 때 활용하세요.
1. 통합 구현
- 사용자의 요구사항에 맞춰 송·수신 모듈과 중계 모듈 간의 연계를 구현하는 것
- 연계 시스템의 구성
-
송신 시스템과 모듈- 송신 시스템 : 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성
- 송신 모듈 : 전송 데이터를 생성하고 필요에 따라 전송 데이터의 변환 등을 수행
- 모니터링 기능: 전송 데이터의 생성부터 송신까지의 과정과 송신 상태 등을 확인
-
수신 시스템과 모듈- 수신 시스템 : 수신 받은 데이터를 정제 및 변환하는 시스템, 수신 모듈과 모니터링 기능으로 구성
- 수신 모듈 : 수신 데이터를 정제하고 애플리케이션이나 데이터베이스 테이블에 적합한 데이터로 변환하는 작업 등을 수행
중계 시스템: 내·외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처연계 데이터: 송·수신 시스템 간 송·수신되는 데이터로 의미를 갖는 속성, 길이, 타입 등이 포함네트워크: 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망
2. 연계 요구사항 분석
- 통합 구현을 위해 사용자 요구사항을 분석하고 연계 데이터를 식별 및 표준화하여 연계 데이터를 정의하는 것
- 연계 요구사항 분석 절차
-
시스템 현황 확인: 송신 시스템과 수신 시스템의 하드웨어 구성, 시스템 소프트웨어 구성, 네트워크 현황 확인- 시스템 구성도 : 송·수신 시스템의 하드웨어, 소프트웨어, 네트워크 구성 등을 정의한 문서
- 응용 애플리케이션 구성 : 메뉴 구조, 화면 설계, 데이터의 발생 시점, 발생 유형발생 주기 등을 정의한 문서
-
정의서 확인: 송신 시스템과 수신 시스템에서 연계하고자 하는 데이터 관련 테이블 정의서, 코드 정의서 확인- 테이블 정의서 : 테이블에서 관리되는 컬럼들의 특징, 인덱스, 업무 규칙 등을 정의한 문서
- 코드 정의서 : 데이터베이스에서 코드성 속성을 정의한 문서
체크리스트 작성: 질의 사항을 시스템(네트워크, 보안 등) 관점과 응용(데이터, 공통 코드 등) 관점에서 연계 분석 체크리스트 작성인터뷰 및 면담: 사용자 인터뷰 및 면담을 수행하고 회의록 작성연계 요구사항 분석서 작성: 연계 시스템 구성 및 데이터 식별에 해당하는 내용에 요구사항 ID를 부여하고 요구사항 분석서 작성
3. 연계 데이터 식별 및 표준화
- 연계 데이터를 구성하기 위해 연계 데이터를 식별하고 식별된 연계 데이터를 표준화한 후 이를 기반으로 연계(인터페이스) 정의서를 작성
1) 연계 범위 및 항목 정의: 데이터 타입, 길이, 코드화 여부 등 시스템 간 연계할 정보를 상세화하여 정의2) 연계 코드 변환 및 매핑: 정보로 전환하거나 검색 조건으로 활용하기 위해, 연계 정보 중 코드로 관리되어야 할 항목을 찾아 코드로 변환3) 연계 데이터 식별자와 변경 구분 추가: 수신 시스템의 연계 정보에 송신 시스템의 식별자, 추가, 수정 , 삭제 중 어떤 조작을 수행하는지 식별해주는 구분 정보를 추가하고, 연계 데이터의 확인 및 모니터링을 위해 인터페이스 테이블 또는 파일에 관리 정보를 추가함4) 연계 데이터 표현 방법 정의: 연계 대상 범위 및 항목과 코드 변환 및 매핑 방식을 정의한 이후에는 연계 데이터를 구성함-
5) 연계 정의서 및 명세서 작성- 정의된 연계 항복의 데이터 타입, 길이, 공통 코드 여부 등의 속성을 확인하고 연계(인터페이스) 정의서 및 명세서 작성
4. 연계 메커니즘
- 연계 메커니즘의 연계 방식 : 직접 연계 방식, 간접 연계 방식
직접 연결: DB Connection Pool, DB Link, JDBC, API 등간접 연결: EAI, Web Service/ESB, Socket 등
| 방식 | 장점 | 단점 |
|---|---|---|
| 직접연계 | 연계 및 통합 구현이 단순하고 용이 개발 비용이 저렴 개발 기간이 짧음 중간 매개체 없는 직접 연계로 데이터 연계 처리 성능이 뛰어남 |
송·수신 시스템간 결합도가 높아 시스템 변경시 오류가 발생 보안을 위한 암호화, 복호화 처리와 비즈니스 로직을 적용하기 어려움 연계 및 통합이 가능한 시스템 환경이 제한적 |
| 간접연계 | 서로 다른 네트워크, 프로토콜 등 다양한 환경의 연계 및 통합이 가능 송·수신 시스템 간 인터페이스가 변경되어도 오류 없이 서비스가 가능 보안 품질 보장과 비즈니스 처리를 위한 로직(Logic)을 쉽게 반영 |
연계 메커니즘과 아키텍처가 복잡 중간 매개체로 인해 성능이 저하 개발 및 적용 기간이 비교적 긺 |
-
직접 연계 방식: 중간 매개체 없이 송·수신 시스템이 직접 연계하는 방식DB Link: DB에서 제공하는 DB Link 객체를 이용하는 방식DB Connection: 수신 시스템의 WAS(웹 애플리케이션 서버)에서 송신 시스템의 DB로 연결해주는 방식- WAS: 정적인 콘텐츠를 처리하는 웹 서버와 달리 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
API(Application Programming Interface)/Open API:데이터를 송신 시스템의 DB에서 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스- API(Application Programming Interface) : 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 응용프로그램 개발 시 이용할 수 있도록 규칙 등에 대해 정의해 놓은 인터페이스
- Open API : API의 기능을 누구나 무료로 사용하여 프로그램을 개발하거나 Open API에 새로운 API를 추가할 수 있도록 공개된 API
JDBC(Java DataBase Connectivity): Java에서 DB에 접근하여 데이터를 삽입, 삭제, 수정, 조회할 수 있도록 Java와 DB를 연결해 주는 방식
-
간접 연계 방식: 송·수신 시스템 사이에 중간 매개체를 두어 연계하는 방식연계 솔루션: EAI 서버와 송·수신 시스템에 설치되는 클라이언트(Client)를 이용하는 방식ESB(Enterprise Service Bus): 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 방식Web Service: 웹 서비스(Web Service)에서 WSDL과 UDDI, SOAP 프로토콜을 이용하여 연계하는 방식Socket: 서버는 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술
-
연계 메커니즘의 구성
연계 데이터 생성 및 추출: 연계 솔루션과 관계없이 응용 프로그램이나 DB 등 응용 시스템에서 연계 데이터를 생성하고 추출하는 것코드 매핑 및 데이터 변환: 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 것인터페이스 테이블 또는 파일 생성: 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 것로그(Log) 기록: 송·수신 시스템에서 수행되는 모든 과정에 대한 결과 및 오류에 대한 정보를 로그 테이블이나 파일에 기록하는 것연계 서버 또는 송·수신 어댑터- 연계 서버 : 송·수신 시스템 중 한 곳에 설치하며 인터페이스 테이블 또는 파일의 데이터를 전송 형식에 맞게 변환하고 송·수신을 수행하는 등 송·수신과 관련된 모든 처리 수행
- 송신 어댑터 : 송신 시스템에 설치하며, 인터페이스 테이블 또는 파일의 데이터를 전송 형식에 맞도록 변환하고 송신 수행
- 수신 어댑터 : 수신 시스템에 설치하며, 송신 시스템으로부터 수신한 데이터를 인터페이스 테이블이나 파일로 생성
전송: 송신 시스템에서 생성된 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것운영 DB에 연계 데이터 반영: 수신된 인터페이스 테이블 또는 파일 구조의 데이터를 변환 프로그램을 이용하여 수신 시스템의 운영 DB에 반영하는 것
5. 연계 장애 및 오류처리 구현
- 연계 장애 및 오류 유형
| 구분 | 설명 |
|---|---|
| 연계 시스템 오류 | 연계 서버의 실행 여부 및 송/수신, 전송 형식 변환 등의 오류. 서버의 기능과 관련된 장애 및 오류 |
| 연계 프로그램 오류 | 데이터 추출을 위한 DB접근 시 권한 불충분(송신) 운영 DB에 반영하기 위한 DB접근 권한 불충분(수신) 데이터 변환 및 반영 시 예외 처리 미처리 |
| 연계 데이터 오류 | 송신 시스템에서 추출된 연계 데이터가 유효하지 않은 값으로 인한 오류 |
- 연계 장애 시 사례 및 처리 방안
| 구분 | 사례 | 처리방안 |
|---|---|---|
| 연계 시스템 오류 | 연계서버 미구동 송/수신 시스템의 아이피 및 포트 접속 불가 |
연계서버의 로그를 확인하여 원인분석 후 처리 |
| 연계 프로그램 오류 | 등록되지 않은 코드로 매핑 불가 등록된 데이터가 존재하지 않음 |
송/수신 연계 프로그램 기록 로그 확인 및 처리 데이터 재전송 및 재반영 |
| 연계 데이터 오류 | 유효하지 않은 일자 | 연계 프로그램 로그를 확인하여 데이터 보정 후 재전송 |
-
연계 서버 장애 주요 체크리스트
- 연계 서버 엔진에서 기록되는 로그 파일 내용
- 연계 서버의 정상적 실행 여부
- 연계 서버의 데이터 전송 변환 과정의 오류 여부
- 송수신 대상 시스템의 정상 연결 여부(아이피 및 포트 접근 가능 여부)
- 송수신 연계 테이블 접근 권한 등
6. 연계 모듈의 구현 환경
- 연계 메커니즘에 따라 구현된 연계 시스템 환경 및 모듈 구현 환경을 의미
-
EAI(Enterprise Application Integration): 기업내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션- Point-to-Point : 가장 기본적인 애플리케이션 통합 방식으로, 애플리케이션을 1 : 1로 연결
- Hub & Spoke : 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식
- Message Bus(ESB 방식) : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
- Bus Hybrid : Hub & Spoke와 Message Bus의 혼합 방식
-
ESB(Enterprise Service Bus): 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션- ESB는 애플리케이션 통합 측면에서 EAI와 유사하지만 애플리케이션 보다는 서비스 중심의 통합을 지향
-
웹 서비스(Web Service): 네트워크의 정보를 표준화된 서비스 형태로 만들어 공유하는 기술로, 서비스 지향 아키텍처(SOA) 개념을 실현하는 대표적인 기술- SOAP(Simple Object Access Protocol) : HTTP, HTTPS, SMTP 등을 활용하여 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜
- WSDL(Web Services Description Language) : 웹 서비스명, 서비스 제공 위치, 프로토콜 등 웹 서비스에 대한 상세 정보를 XML 형식으로 구현
- UDDI(Universal Description, Discovery and Integration) : WSDL을 등록하여 서비스와 서비스 제공자를 검색하고 접근하는데 사용됨
7. XML(eXtensible Markup Language)
XML: 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위하여 개발된 다목적 마크업 언어- 유니코드를 기반으로 다국어를 지원, 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그 사용 가능
-
XML의 첫 문단
- < ? ? > : 문서의 첫 문단은 ?기호 포함
- version : XML 문서에서 사용된 XML버전 명시
- encoding : XML 의 언어셋을 명시한다. 기본값은 UTF-8 이다
- standalone : XML문서를 해석할 때 외부 문서의 참조 여부 명시
<xml version="버전" encoding="언어셋" standalone="yes|no"?>-
XML 요소(Element)의 구성
요소 이름: 요소의 이름으로 사용자가 임의로 지정 가능속성='속성값': 요소와 관련된 속성과 속성값으로, 생략이 가능하다내용: 요소의 내용으로, 생략이 가능하다
<요소이름 속성1="속성값 1" 속성 2="속성값 2"… > 내용</요소이름>- XML 예제
<?xml version="1.0" encoding="euc-kr" standalone="yes" ?>
<student school="한국대학교">
<member>
<name>YDH</name>
<year>2</year>
<major>인공지능</major>
</member>
<member>
<name>YDJ</name>
<year>3</year>
<major>웹</major>
</member>
</student>SOAP(Simple Object Access Protocol): 컴퓨터 네트워크 상에서 HTTP / HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약- Envelope : XML문서를 SOAP 메시지로 정의하는 것으로, 메시지에 대한 요소와 접근 방법을 정의
-
Header : SOAP 메시지에 포함되는 웹 서비스를 정의하는 것으로, 생략이 가능하다
- Body : 실제 SOAP 메시지가 포함됨
- SOAP 요청
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>- SOAP 응답
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>WSDL(Web Services Description Language): 웹 서비스 관련 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어- XML로 작성되며 UDDL의 기초
<description>
<types>
자료형 정의
</types>
<message>
인수와 리턴값 정의
</message>
<portType>
<operation>
메소드 정의
</operation>
</portType>
<binding>
통신방법 정의
</binding>
<service>
<port>웹 서비스 URL</port>
</service>
</description>RESTful 프로토콜: HTTP와 REST의 원칙을 사용하여 구성되는 웹 서비스로, HTTP와 자원을 관리하는데 사용되는 웹 서비스 API의 집합JSON(JavaScript Object Notation): 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷_, 비동기 처리에 사용되는 AJAX에서 XML을 대체하여 사용AJAX (Asynchronous Javascript And XML): JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자이다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법 이며 JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고받는 기술이다.
8. 연계 테스트
- 구축된 연계 시스템과 연계 시스템의 구성 요소가 정상적으로 동작하는지 확인하는 활동
- 연계 테스트 절차
연계 테스트 케이스 작성: 연계 시스템 간의 데이터 및 프로세스의 흐름을 분석하여 필요한 테스트 항목을 도출하는 과정연계 테스트 환경 구축: 테스트의 일정, 방법, 절차, 소요 시간 등을 송·수신 기관과의 협의를 통해 결정연계 테스트 수행: 연계 응용 프로그램을 실행하여 연계 테스트 케이스의 시험 항목 및 처리 절차 등을 실제로 진행연계 테스트 수행 결과 검증: 연계 테스트 케이스의 시험 항목 및 처리 절차를 수행한 결과가 예상 결과와 동일한지를 확인
